/*
 * @Description: 
 * @Author: zheng yiliang
 * @Date: 2021-03-17 20:15:59
 * @LastEditTime: 2021-04-18 12:47:21
 * @LastEditors: zheng yiliang
 */
var express = require('express');
var router = express.Router();
const { SuccessModel, ErrorModel } = require('../util')
const { Users, Roles, Menu } = require('../model')
const { mapMenus } = require('../util/fn')
const { PUBLIC_ERROR_MSG } = require('../core/constant');
const loginCheck = require('../middleware/loginCheck');

router.get('/list', loginCheck, async (req, res) => {
  console.log(req.query)
  const { dateRange, authName } = req.query
  const params = {}
  if (dateRange) params.create_time = {
    "$gte": new Date(`${dateRange[0]} 00:00:00`),
    "$lte": new Date(`${dateRange[1]} 23:59:59`)
  }
  if (authName) params['meta.title'] = { $regex: eval(`/${authName}/ig`) }
  const menus = await Menu.find(params)
  const result = mapMenus(menus)
  return res.json(new SuccessModel(result, '菜单列表获取成功'))
});

router.get('/:menuId', async (req, res) => {
  const { menuId } = req.params
  const menus = await Menu.find({ menu_id: menuId })
  return res.json(new SuccessModel(menus))

})

// router.post('/add', async (req, res) => {
//   console.log(req.body)
//   const { menu_type, path, perms, component, name, parent_id, redirect, alwaysShow, title, icon } = req.body
//   const idList = await Menu.find({}, { menu_id: 1, _id: 0 })
//   const list = idList.filter(item => item.menu_id).map(item => item.menu_id).sort((x, y) => x - y)
//   console.log(list)  // M C F
//   const Mid = list.filter(item => item <= 100).sort()
//   const Cid = list.filter(item => item > 100 && item < 1000).sort()
//   const Fid = list.filter(item => item >= 1000).sort()
//   console.log(Mid, Cid, Fid)
//   var menu = ''
//   if (menu_type === 'M') {
//     menu = new Menu({
//       menu_id: Mid[Mid.length - 1] + 1,
//       path,
//       component: '@/layout',
//       name,
//       redirect,
//       alwaysShow,
//       menu_type,
//       meta: {
//         title,
//         icon
//       }
//     })
//   } else if (menu_type === 'C') {
//     menu = new Menu({
//       menu_id: Cid[Cid.length - 1] + 1,
//       path,
//       component,
//       name,
//       parent_id,
//       menu_type,
//       perms,
//       meta: {
//         title,
//         icon
//       }
//     })
//   } else if (menu_type === 'F') {
//     menu = new Menu({
//       menu_id: Fid[Fid.length - 1] + 1,
//       hidden: true,
//       parent_id,
//       menu_type,
//       perms,
//       meta: {
//         title
//       }
//     })
//   }
//   if (!menu) return res.json(new ErrorModel(PUBLIC_ERROR_MSG))
//   menu.save(function (err, ret) {
//     if (err) {
//       return res.json(new ErrorModel(err, '保存失败'))
//     } else {
//       return res.json(new SuccessModel('保存成功'))
//     }
//   })
//   // const menus = await Menu.find({ menu_id: menuId })
//   // return res.json(new SuccessModel(menus))

// })

module.exports = router;
